export interface RequestParams {
    [paramName: string]: string | string[] | number | boolean;
}

export interface UdfResponse {
    s: string;
}

export interface UdfOkResponse extends UdfResponse {
    s: 'ok';
}

export interface UdfErrorResponse {
    s: 'error';
    errmsg: string;
}

/**
 * If you want to enable logs from datafeed set it to `true`
 */
const isLoggingEnabled = false;

export function logMessage(message: string): void {
    if (isLoggingEnabled) {
        const now = new Date();
        // tslint:disable-next-line:no-console
        console.log(`${now.toLocaleTimeString()}.${now.getMilliseconds()}> ${message}`);
    }
}

export function getErrorMessage(error: string | Error | undefined): string {
    if (error === undefined) {
        return '';
    } else if (typeof error === 'string') {
        return error;
    }

    return error.message;
}
